﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<stdio.h>
#include<math.h>
#include<string>
#include<time.h>
#include<stdlib.h>
#include<stdbool.h>
#include<assert.h>
//给定两个字符串形式的非负整数 num1 和num2 ，计算它们的和并同样以字符串形式返回。
//class Solution {
//public:
//    string addStrings(string num1, string num2) {
//        int i = num1.size() - 1;
//        int j = num2.size() - 1;
//        int add = 0;
//        if (num1.size() - 1 > num2.size() - 1)
//        {
//            swap(num1, num2);
//            i = num1.size() - 1;
//            j = num2.size() - 1;
//            int add = 0;
//        }
//        string num = "";
//        while (i >= 0)
//        {
//            int x = num1[i] - '0';
//            int y = num2[j] - '0';
//            int result = x + y + add;
//            num.push_back('0' + result % 10);
//            add = result / 10;
//            i--;
//            j--;
//        }
//        while (j >= 0)
//        {
//            int y = num2[j] - '0';
//            int result = y + add;
//            add = result / 10;
//            num.push_back('0' + (result) % 10);
//            j--;
//        }
//        if (add > 0)
//        {
//            num.push_back('0' + add);
//        }
//        reverse(num.begin(), num.end());
//        return num;
//    }
//};
//验证一个字符串是否是回文
//class Solution {
//public:
//    bool isPalindrome(string s) {
//        string::iterator begin = s.begin();
//        string::iterator end = s.end();
//
//        end--;
//        int p = 0;
//        int n = 0;
//        while (begin < end)
//        {
//            while (!(((int)*begin > 64 && (int)*begin < 91) || ((int)*begin > 96 && (int)*begin < 123) || ((int)*begin > 47 && (int)*begin < 58)) && begin < end)
//            {
//                begin++;
//            }
//            while (!(((int)*end > 64 && (int)*end < 91) || ((int)*end > 96 && (int)*end < 123) || ((int)*end > 47 && (int)*end < 58)) && begin < end)
//            {
//                end--;
//            }
//            int x = (int)*begin;
//            int y = (int)*end;
//            if (x > y)
//            {
//                int tmp = x;
//                x = y;
//                y = tmp;
//            }
//            if ((x != y && y - x != 32))
//            {
//                p = 1;
//                break;
//            }
//            if (((x > 47 && x < 58) || (y > 47 && y < 58)) && x != y)
//            {
//                p = 1;
//                break;
//            }
//            begin++;
//            end--;
//            n++;
//        }
//
//        if (p == 1)
//        {
//            return false;
//        }
//        else
//        {
//            return true;
//        }
//    }
//};
////给定一个字符串 s 和一个整数 k，从字符串开头算起，每计数至 2k 个字符，
////就反转这 2k 字符中的前 k 个字符。如果剩余字符少于 k 个，则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个，
////则反转前 k 个字符，其余字符保持原样。
//class Solution {
//public:
//    string reverseStr(string s, int k) {
//        int size = s.size();
//        int i = 0;
//        int local = 0;
//        int num = 2 * k;
//        while (i <= size)
//        {
//            if (i != 0 && i % num == 0)
//            {
//                auto sbegin = s.begin() + local;
//                auto send = sbegin + k;
//                local = num;
//                reverse(sbegin, send);
//                num += 2 * k;
//            }
//            i += k;
//        }
//        if (i > size)
//        {
//
//            if ((size - local) >= k)
//            {
//                auto sbegin = s.begin() + local;
//                auto send = sbegin + k;
//                reverse(sbegin, send);
//            }
//            else
//            {
//                auto sbegin = s.begin() + local;
//                auto send = s.end();
//                reverse(sbegin, send);
//            }
//        }
//        return s;
//    }
//};
////给定一个字符串 s ，你需要反转字符串中每个单词的字符顺序，同时仍保留空格和单词的初始顺序。
//class Solution {
//public:
//    string reverseWords(string s) {
//        auto it = s.begin();
//        auto begin = s.begin();
//        auto end = begin;
//        while (it != s.end())
//        {
//            if (*it == ' ')
//            {
//                reverse(begin, end);
//                ++it;
//                begin = it;
//                end = it;
//            }
//            ++it;
//            ++end;
//        }
//        reverse(begin, end);
//        return s;
//
//    }
//};
//计算字符串最后一个单词的长度，单词以空格隔开，字符串长度小于5000。（注：字符串末尾不以空格为结尾）
using namespace std;
int main() {
	string words;
	int longs = 0;
	getline(cin, words);

		string::reverse_iterator it = words.rbegin();
		while (*it != ' ')
		{
			longs++;
			it++;
		}
		cout << longs << endl;
		longs = 0;
}
